1
Passaggio alla visione artificiale: perché i CNN?
EvoClass-AI002Lezione 4
00:00

Passaggio alla visione artificiale

Oggi passiamo dal trattamento di dati semplici e strutturati utilizzando layer lineari base al fronteggiamento di dati immagine ad alta dimensione. Un'immagine a colori introduce una complessità significativa che le architetture standard non riescono a gestire in modo efficiente. Il deep learning per la visione richiede un approccio specializzato: il Reti neurali convoluzionali (CNN).

1. Perché falliscono le reti completamente connesse (FCN)

In una FCN, ogni pixel di input deve essere collegato a ogni neurone nel livello successivo. Per immagini ad alta risoluzione, ciò causa un'esplodere computazionale, rendendo l'addestramento impossibile e la generalizzazione scarsa a causa di un overfitting estremo.

  • Dimensione dell'input:Un'immagine RGB standard $224 \times 224$ genera $150.528$ caratteristiche di input ($224 \times 224 \times 3$).
  • Dimensione del livello nascosto: Se il primo livello nascosto utilizza 1.024 neuroni.
  • Parametri totali (Livello 1): $\approx 154$ milioni di pesi ($150.528 \times 1024$) solo per il primo blocco di connessioni, richiedendo memoria e tempo di calcolo massivi.
La soluzione CNN
Le CNN risolvono il problema di scalabilità delle FCN sfruttando la struttura spaziale delle immagini. Identificano pattern (come bordi o curve) usando filtri piccoli, riducendo il numero di parametri di diversi ordini di grandezza e promuovendo la robustezza.
comparison.py
TERMINALEbash — model-env
> Pronto. Clicca su "Esegui" per eseguire.
>
ISPEZIONATORE DI EFFICIENZA DEI PARAMETRI In diretta

Esegui il confronto per visualizzare il conteggio dei parametri.
Domanda 1
Qual è il principale vantaggio dell'utilizzo di Campi receptivi locali nelle CNN?
I filtri si concentrano solo su una piccola regione locale dell'immagine di input.
Permette alla rete di elaborare l'intera immagine globalmente in un colpo solo.
Garantisce che tutti i parametri siano inizializzati a zero.
Rimuove la necessità di funzioni di attivazione.
Domanda 2
Se un filtro $3 \times 3$ viene applicato su tutta l'immagine, quale concetto fondamentale delle CNN viene utilizzato?
Normalizzazione del kernel
Pesi condivisi
Connettività completa
Trasposizione delle caratteristiche
Domanda 3
Quale componente delle CNN è responsabile della riduzione progressiva delle dimensioni spaziali (larghezza e altezza) delle mappe di caratteristiche?
Attivazione ReLU
Livelli di pooling (downsampling)
Normalizzazione per batch
Sfida: Identificare i componenti chiave delle CNN
Collega i meccanismi delle CNN ai loro benefici funzionali.
Dobbiamo costruire un modello di visione altamente efficiente nei parametri e in grado di riconoscere un oggetto anche se si sposta leggermente nella foto.
Passo 1
Quale meccanismo garantisce che la rete possa identificare una caratteristica (come una linea diagonale) indipendentemente dalla sua posizione nel quadro?
Soluzione:
Pesi condivisi. Usando lo stesso filtro in tutte le posizioni, la rete apprende l'invarianza traslazionale.
Passo 2
Quale scelta architetturale permette a una CNN di rilevare caratteristiche con meno parametri rispetto a una FCN?
Soluzione:
Campi receptivi locali (o connettività scarsa). Invece di collegarsi a ogni pixel, ogni neurone si collega solo a una piccola regione locale dell'input.
Passo 3
Come la struttura CNN porta all'apprendimento gerarchico delle caratteristiche (ad esempio, bordi $\to$ angoli $\to$ oggetti)?
Soluzione:
Livelli impilati. I primi livelli imparano caratteristiche semplici (bordi) tramite convoluzione. I livelli più profondi combinano gli output dei livelli precedenti per formare caratteristiche complesse e astratte (oggetti).